home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Topik / Topik - Disk 36 - Archivers (19xx)(Topik Public Domain)(PD)[WB].zip / Topik - Disk 36 - Archivers (19xx)(Topik Public Domain)(PD)[WB].adf / Zoo / zall / zall.doc < prev    next >
Text File  |  1990-10-07  |  6KB  |  125 lines

  1.  
  2. *** Topik Note : Visible only from the CLI in this directory are the files:
  3. allfiles - for displaying a files from a directory through subdirectories,
  4. ltypes.i - Macros for use in the allfiles.asm, zallpipe and zalltemp - two
  5. script files for using allfiles to your advantage with zoo.
  6.  
  7.                             ZAll / AllFiles
  8.  
  9.                        © 1989, by Mike Cargal
  10.  
  11.  
  12.                  This program is freely redistributable.
  13.                    (NOTE: Requires ARP 1.1 or higher)
  14.  
  15.  
  16.     Well, this is it, my second contribution to the world of Amiga freely
  17. redistributable software.  Let me know how you like it.  You may leave
  18. messages in the Amiga Sig of either of the following two boards.  I sign
  19. on to them fairly regularly, and would therefore be likely to get your
  20. message.  C.I.A (404-561-5359) and the Columbus Connection (404-687-7309),
  21. or on BIX to mcargal.
  22.  
  23. What are ZAll and AllFiles?
  24.      ZAll is a script file to be used in conjunction with AllFiles and
  25. ZOO, to easily zoo down an entire directory structure, so that it can be
  26. recreated when unzooed.  AllFiles simply lists all the files in a
  27. directory and it's sub-directories to stdout.  These names are relative
  28. to your current directory.  It can be used to send a list of files to
  29. zoo.
  30.     Note: There are two versions of ZAll included: zalltemp which uses
  31. an intermediate file on the t: device, and zallpipe which uses the PIP:
  32. device from conman 1.3.  If you don't have this device you will want to use
  33. zalltemp (just rename it as zall).  If you have the PIP: device you may
  34. wish to try zallpipe (rename it as zall).  In testing this, it seems that
  35. it may actually be slower than using the temporary file since AllFiles and
  36. ZOO are in contention with each other when usong PIP: (causing disk
  37. thrashing).  Experiment to decide which you prefer.
  38.  
  39. How do I use ZAll?
  40.      I set the S protection bit on all my executable files so they can
  41. be executed without typing execute in front of them on the CLI.  I
  42. also include the following line in my Shell-Startup:
  43.  
  44.         ALIAS SBit PROTECT [] S ADD
  45.  
  46. This way I can type SBit <batch file name> and easily reset this
  47. protection bit.  (My text editor has the nasty habit of resetting this
  48. bit whenever I save the file down.)
  49.          ZAll calls for a zoo file name and an optional list of directories
  50. to be zooed down.
  51.  
  52.      ZAll zf dir1 dir2 dir3 dir4 dir5   (you can change tthe batch file
  53.                                          if you need more directories
  54.                                          and AllFiles will handle the
  55.                                          additional args)
  56.       zf - the name of the zoo file you wish to have created
  57.       dirx - optional directory names (none indicates your current
  58.                directory.)
  59.  
  60. That's it, just be sure to use the e// command to unzoo (this recreates
  61. directory structures).
  62.  
  63. *HINT*
  64.     I spent quite a while trying to get this script file to work because
  65. I had left out the .BRA and .KET directives.  If you don't change them,
  66. AmigaDos goes bonkers when you try to do input redirection.  It seems
  67. that it can tell the '<' for input redirection from the '<' to bracket
  68. keyword substitution in script files.  A brilliant conflict of syntax
  69. on Commodore's part.  So, the hint -- if you're going to use input
  70. redirection in a script file, you have to change the .BRA character,
  71. and it makes sense to make the .KET be a logical match, even though
  72. you would not technically need to change it.
  73.  
  74. How do I use AllFiles?
  75.       AllFlies takes an optional list of directories and lists them to
  76. stout.  If you don't specify a directory(s), your current directory and
  77. sub-directories will be listed.  Files are listed with pathnames needed
  78. to access them from your current directory.  *NOTE* I do not list full
  79. pathnames, since you may not want to recreate full paths when you unzoo.
  80. By CD'ing to the right location you can create a list of files to create
  81. any directory structure you may have.  AllFiles uses the ARP multiargs
  82. option so that you can specify several directories at on time.
  83.  
  84. For Programmers:
  85.      I have included the assembler source to this program.  I am using
  86. Asm68K by W. W. Howe (you can be productive without commercial assemblers/
  87. compilers, through it might be easier if I spent a few dollars on the
  88. commercial packages).  I have since switched to CAPE and recommend it
  89. highly.  I would also recommend Exterminator by Glen Marriman
  90. which I used to help debug this program (but don't blame him if all the
  91. bugs aren't eradicated).  And (while I'm giving credit) I especially want
  92. to thank the folks at ARP for providing a host of useful subroutines for
  93. coding a small, but still user-friendly program.
  94.      If you are like me, you want to know what things a program does
  95. to determine if it might have example code to use rather than have to
  96. experiment with trial and error attempts to get function calls working
  97. like they should.  With that in mind, these are some of the things that
  98. AllFiles provides examples of:
  99.     1) ARP GADS function call to parse command line (including multiargs)
  100.     2) coding reentrant programs to be made resident
  101.     3) Using LINK and UNLK instructions with a local structure on the
  102.         stack to create recursive subroutines in assembler (now that's
  103.         a real mouthfull, just look at the subroutine ListDir)
  104.     4) I've included an include file you'll need to assmeble this.  It's
  105.         called Ltypes.i, it is very similar to the exec/types.i file,
  106.         except that it creates negative offset structures, suitable for
  107.         use with LINK and UNLK.
  108.  
  109. *** NOTE ***
  110.  
  111.    This program makes extensive use of arp.library version 1.1.  In order
  112. to use this program version 1.1 of arp.library should be placed in your
  113. LIBS: directory.  Since ARP is easy to find, and it would only increase
  114. the size of this upload module unnecessarily for those of you already
  115. having ARP, I have not included it here.
  116.  
  117.  
  118. Let me know how you like (or dislike) it.
  119.  
  120. Later...  Mike
  121.  
  122. P.S.  There are other uses for AllFiles.  I know of someone who has set up
  123. an alias using AllFiles, Search, and Sort (with pipes) to implement a
  124. WhereIs command, so play with it and let me know what you come up with.
  125.